<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArServerInfoRobot Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20180125</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArServerInfoRobot.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArServerInfoRobot-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArServerInfoRobot Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Server component providing basic robot status information to clients.  
 <a href="classArServerInfoRobot.html#details">More...</a></p>

<p><code>#include &lt;ArServerInfoRobot.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a37b6b2739285beb767fea6bcb130cdb0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a37b6b2739285beb767fea6bcb130cdb0">activityTimeInfo</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a37b6b2739285beb767fea6bcb130cdb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function that sends information about the time that the server mode was last active.  <a href="#a37b6b2739285beb767fea6bcb130cdb0">More...</a><br /></td></tr>
<tr class="separator:a37b6b2739285beb767fea6bcb130cdb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7a1c348ddaacc8669eb908a12d34c7e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot</a> (<a class="el" href="classArServerBase.html">ArServerBase</a> *server, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *robot)</td></tr>
<tr class="memdesc:ae7a1c348ddaacc8669eb908a12d34c7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#ae7a1c348ddaacc8669eb908a12d34c7e">More...</a><br /></td></tr>
<tr class="separator:ae7a1c348ddaacc8669eb908a12d34c7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b1f5a1de6266e00dcbe3f8d02d63e10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a4b1f5a1de6266e00dcbe3f8d02d63e10">batteryInfo</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a4b1f5a1de6266e00dcbe3f8d02d63e10"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function that sends battery info about the robot off to the client.  <a href="#a4b1f5a1de6266e00dcbe3f8d02d63e10">More...</a><br /></td></tr>
<tr class="separator:a4b1f5a1de6266e00dcbe3f8d02d63e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2cbbfd21c0deafa12a0e60fd77a5b2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#ab2cbbfd21c0deafa12a0e60fd77a5b2a">physicalInfo</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ab2cbbfd21c0deafa12a0e60fd77a5b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function that sends information about the physical robot.  <a href="#ab2cbbfd21c0deafa12a0e60fd77a5b2a">More...</a><br /></td></tr>
<tr class="separator:ab2cbbfd21c0deafa12a0e60fd77a5b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a0905008a60f291372e53481d6656a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a4a0905008a60f291372e53481d6656a2">update</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a4a0905008a60f291372e53481d6656a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function that sends updates about the robot off to the client.  <a href="#a4a0905008a60f291372e53481d6656a2">More...</a><br /></td></tr>
<tr class="separator:a4a0905008a60f291372e53481d6656a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4625b86363da3746a7f194b80a316e61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a4625b86363da3746a7f194b80a316e61">updateNumbers</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a4625b86363da3746a7f194b80a316e61"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function that sends updates about the robot off to the client.  <a href="#a4625b86363da3746a7f194b80a316e61">More...</a><br /></td></tr>
<tr class="separator:a4625b86363da3746a7f194b80a316e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a124d06b5f8fd99676200e76222cb7979"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a124d06b5f8fd99676200e76222cb7979">updateStrings</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a124d06b5f8fd99676200e76222cb7979"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function that sends updates about the robot off to the client.  <a href="#a124d06b5f8fd99676200e76222cb7979">More...</a><br /></td></tr>
<tr class="separator:a124d06b5f8fd99676200e76222cb7979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07e1e158db45699f306a24f7f4cbde7c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a07e1e158db45699f306a24f7f4cbde7c">~ArServerInfoRobot</a> ()</td></tr>
<tr class="memdesc:a07e1e158db45699f306a24f7f4cbde7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a07e1e158db45699f306a24f7f4cbde7c">More...</a><br /></td></tr>
<tr class="separator:a07e1e158db45699f306a24f7f4cbde7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ab22b4e8128c3c289fbb8c724feaff5f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask</a> (void)</td></tr>
<tr class="separator:ab22b4e8128c3c289fbb8c724feaff5f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab2ec56a2825eb0d24e3ec6c7a7ec0294"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#ab2ec56a2825eb0d24e3ec6c7a7ec0294">myActivityTimeInfoCB</a></td></tr>
<tr class="separator:ab2ec56a2825eb0d24e3ec6c7a7ec0294"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f05293bf9ee42a5b67f59d51017fd9"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a20f05293bf9ee42a5b67f59d51017fd9">myBatteryInfoCB</a></td></tr>
<tr class="separator:a20f05293bf9ee42a5b67f59d51017fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a224a6d07051237503612f336c69bda37"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a224a6d07051237503612f336c69bda37">myExtendedStatus</a></td></tr>
<tr class="separator:a224a6d07051237503612f336c69bda37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8885c11cb59b462e01a216dee5e19cf7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a8885c11cb59b462e01a216dee5e19cf7">myMode</a></td></tr>
<tr class="separator:a8885c11cb59b462e01a216dee5e19cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a247cbe7a907306fb54dbe64882ea0671"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a247cbe7a907306fb54dbe64882ea0671">myOldExtendedStatus</a></td></tr>
<tr class="separator:a247cbe7a907306fb54dbe64882ea0671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a973c53984dea10eb42fa268a1d0cb12b"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a973c53984dea10eb42fa268a1d0cb12b">myOldMode</a></td></tr>
<tr class="separator:a973c53984dea10eb42fa268a1d0cb12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d009f7d13454f4436d25b88b6fe87c5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a6d009f7d13454f4436d25b88b6fe87c5">myOldStatus</a></td></tr>
<tr class="separator:a6d009f7d13454f4436d25b88b6fe87c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae31b4dda1ec676ac02107bfced98587e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#ae31b4dda1ec676ac02107bfced98587e">myPhysicalInfoCB</a></td></tr>
<tr class="separator:ae31b4dda1ec676ac02107bfced98587e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a010739ba99f0717216c687da3f27c314"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a></td></tr>
<tr class="separator:a010739ba99f0717216c687da3f27c314"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71669dbe0be1c7917db62c8971cf7b42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a71669dbe0be1c7917db62c8971cf7b42">myServer</a></td></tr>
<tr class="separator:a71669dbe0be1c7917db62c8971cf7b42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09da12433a5066862f09df97786180fb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a09da12433a5066862f09df97786180fb">myStatus</a></td></tr>
<tr class="separator:a09da12433a5066862f09df97786180fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad40bdcd0ff3badf205dba6f5208b5119"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#ad40bdcd0ff3badf205dba6f5208b5119">myUpdateCB</a></td></tr>
<tr class="separator:ad40bdcd0ff3badf205dba6f5208b5119"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1da2b9b64e5c59c2ffd205b82f1b8f86"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a1da2b9b64e5c59c2ffd205b82f1b8f86">myUpdateNumbersCB</a></td></tr>
<tr class="separator:a1da2b9b64e5c59c2ffd205b82f1b8f86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a5ed06648187c14e64d73c9327ba5fd"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a5a5ed06648187c14e64d73c9327ba5fd">myUpdateStringsCB</a></td></tr>
<tr class="separator:a5a5ed06648187c14e64d73c9327ba5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f7f99ed112fdbf7ec1d4d8a1a7ae104"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt; <a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerInfoRobot.html#a0f7f99ed112fdbf7ec1d4d8a1a7ae104">myUserTaskCB</a></td></tr>
<tr class="separator:a0f7f99ed112fdbf7ec1d4d8a1a7ae104"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Server component providing basic robot status information to clients. </p>
<p>This service accepts the following data requests: </p><ul>
<li>
<code>updateNumbers</code> </li>
<li>
<code>updateStrings</code> </li>
<li>
<code>update</code> </li>
<li>
<code>physicalInfo</code> </li>
<li>
<code>batteryInfo</code> </li>
<li>
<code>activityTimeInfo</code> </li>
</ul>
<p>For bandwidth savings you should use <code>updateNumbers</code> at a higher frequency and <code>updateStrings</code> at a lower frequency instead of <code>update</code> at high frequency request rate.</p>
<p>The <code>updateNumbers</code> request returns data regarding the current state of the robot. It replies with the following data packet: </p><ol>
<li>
Battery voltage (times 10) (2 Byte integer) </li>
<li>
X position (4 byte floating point number) </li>
<li>
Y position (4 byte floating point number) </li>
<li>
Theta (2-byte floating point number) </li>
<li>
Forward velocity (2-byte integer) </li>
<li>
Rotation velocity (2-byte integer) </li>
</ol>
<p>The <code>updateStrings</code> request broadcasts data regarding the current state of the robot. Request this at -1 to get the broadcasts and an initial packet with the inital data. It replies with the following data packet: </p><ol>
<li>
Status (Null-terminated string) </li>
<li>
Mode (Null-terminated string) </li>
</ol>
<p>The deprecated <code>update</code> request returns all data regarding the current state of the robot. It replies with the following data packet: </p><ol>
<li>
Status (Null-terminated string) </li>
<li>
Mode (Null-terminated string) </li>
<li>
Battery voltage (times 10) (2 Byte integer) </li>
<li>
X position (4 byte floating point number) </li>
<li>
Y position (4 byte floating point number) </li>
<li>
Theta (2-byte floating point number) </li>
<li>
Forward velocity (2-byte integer) </li>
<li>
Rotation velocity (2-byte integer) </li>
</ol>
<p>The <code>physicalInfo</code> request returns data regarding the physical characteristics of the robot. This information does not change during the robot execution, so only needs to be requested once or as needed. It replies with the following data packet: </p><ol>
<li>
Robot type (Null-terminated string) </li>
<li>
Robot sub-type (Null-terminated string) </li>
<li>
Robot width in mm (2 byte integer) </li>
<li>
Robot front length - mm from center of rotation to front of robot (2 byte integer) </li>
<li>
Robot rear length - mm from center of rotation to back of robot (2 byte integer) </li>
</ol>
<p>The <code>batteryInfo</code> request replies with the following data packet: </p><ol>
<li>
Warning voltage (double) </li>
<li>
Shutdown voltage (double) </li>
</ol>
<p>The <code>activityTimeInfo</code> request replies with the following data packet: </p><ol>
<li>
Sec since - the <a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763" title="Gets the seconds since the activity of our active mode. ">ArServerMode::getActiveModeActivityTimeSecSince</a> value (4-byte int) </li>
</ol>
<p>These requests are in the <code>RobotInfo</code> command group. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="drawingsExampleWithRobot_8cpp-example.html#_a22">drawingsExampleWithRobot.cpp</a>, <a class="el" href="popupExample_8cpp-example.html#_a36">popupExample.cpp</a>, <a class="el" href="serverDemo_8cpp-example.html#_a26">serverDemo.cpp</a>, and <a class="el" href="videoServerForwarder_8cpp-example.html#_a27">videoServerForwarder.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ae7a1c348ddaacc8669eb908a12d34c7e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerInfoRobot::ArServerInfoRobot </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerBase.html">ArServerBase</a> *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a> *&#160;</td>
          <td class="paramname"><em>robot</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>

<p>References <a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2">ArServerBase::addData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a50070f4e19b91aaac20772d15d9ad805">ArRobot::addUserTask()</a>, <a class="el" href="classArServerInfoRobot.html#ab2ec56a2825eb0d24e3ec6c7a7ec0294">myActivityTimeInfoCB</a>, <a class="el" href="classArServerInfoRobot.html#a20f05293bf9ee42a5b67f59d51017fd9">myBatteryInfoCB</a>, <a class="el" href="classArServerInfoRobot.html#ae31b4dda1ec676ac02107bfced98587e">myPhysicalInfoCB</a>, <a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a>, <a class="el" href="classArServerInfoRobot.html#a71669dbe0be1c7917db62c8971cf7b42">myServer</a>, <a class="el" href="classArServerInfoRobot.html#ad40bdcd0ff3badf205dba6f5208b5119">myUpdateCB</a>, <a class="el" href="classArServerInfoRobot.html#a1da2b9b64e5c59c2ffd205b82f1b8f86">myUpdateNumbersCB</a>, <a class="el" href="classArServerInfoRobot.html#a5a5ed06648187c14e64d73c9327ba5fd">myUpdateStringsCB</a>, <a class="el" href="classArServerInfoRobot.html#a0f7f99ed112fdbf7ec1d4d8a1a7ae104">myUserTaskCB</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html#acbc4f69001bac535e6507b4ca696c7d7">ArFunctor::setName()</a>.</p>

</div>
</div>
<a class="anchor" id="a07e1e158db45699f306a24f7f4cbde7c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArServerInfoRobot::~ArServerInfoRobot </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a37b6b2739285beb767fea6bcb130cdb0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoRobot::activityTimeInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function that sends information about the time that the server mode was last active. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763">ArServerMode::getActiveModeActivityTimeSecSince()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a4b1f5a1de6266e00dcbe3f8d02d63e10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoRobot::batteryInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function that sends battery info about the robot off to the client. </p>

<p>References <a class="el" href="classArNetPacket.html#a7b9f461cb78f9bcc0ffa30d31784fa8e">ArNetPacket::doubleToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobotConfigPacketReader.html#a15ec08b2461e381cf81b8221ecc8e007">ArRobotConfigPacketReader::getLowBattery()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#abd59593d76f616951dc77110e55802f5">ArRobot::getOrigRobotConfig()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobotConfigPacketReader.html#aa8ac64e69a91a8b131fbe798d364a0b3">ArRobotConfigPacketReader::getShutdownVoltage()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a41e1731a46ba4dcb7e2c8beecf342416">ArRobot::getStateOfChargeLow()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a6ca0d73881b2d46132c249811e308caf">ArRobot::getStateOfChargeShutdown()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobotConfigPacketReader.html#a5acd599c691e231f6e3524b0c5b9f071">ArRobotConfigPacketReader::hasPacketArrived()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a13d1ce59c3511836490b508bc792ea60">ArRobot::haveStateOfCharge()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab909290dd24db16046bdf792a20eb6da">ArBasePacket::uByteToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="ab2cbbfd21c0deafa12a0e60fd77a5b2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoRobot::physicalInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function that sends information about the physical robot. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a21a7a7ba4a01af49b80bd60d75591603">ArRobot::getRobotLengthFront()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a940a56c68923ded36b6766df5f915f5d">ArRobot::getRobotLengthRear()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#af31385ba7cb7694ad4b5eaf383e72d3a">ArRobot::getRobotSubType()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a740de8b9023d143bb5e338a4d6abc3db">ArRobot::getRobotType()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaf49fc54179b7ff3139aaf7f62e9f003b">ArRobot::getRobotWidth()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a31f622531ddd1ee6b64cf17fabc8f154">ArRobot::hasLatVel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a4a0905008a60f291372e53481d6656a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoRobot::update </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function that sends updates about the robot off to the client. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga56e81d05c4a713bcc04b0c620b787d50">ArMath::fixAngle()</a>, <a class="el" href="classArServerMode.html#a3d12ee9d79a46c35b3af45223b771e3f">ArServerMode::getActiveMode()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a8d1637a9f3d37e55768d2aa1c8c272d6">ArRobot::getBatteryVoltage()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a876ee53aa68d3bdcc73eed3e5db0278b">ArRobot::getLatVel()</a>, <a class="el" href="classArServerMode.html#a1958150b0f5e06d78b0a8e016c2b659b">ArServerMode::getMode()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a95343f45b0c19031fdbc560cb37483ba">ArRobot::getRealBatteryVoltage()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gac2abfcd681cccdc2cf091d2901f0ba5b">ArRobot::getRotVel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a072a1abd7fdd59adab416596ac66d440">ArRobot::getStateOfCharge()</a>, <a class="el" href="classArServerMode.html#a79c34eb7c604eb4c292f45fb976ccaea">ArServerMode::getStatus()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a2c2307e37afcf14413c62f4410716152">ArRobot::getTemperature()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaefe932449c50da9ca0f8084cd9639583">ArRobot::getTh()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gad75dbd9aede7b7f57c9a38902b8aa1ce">ArRobot::getVel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4c994926aaefc4c86380f1a74e508a76">ArRobot::getX()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga9164db66102fdf9d422feefdadffca92">ArRobot::getY()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a13d1ce59c3511836490b508bc792ea60">ArRobot::haveStateOfCharge()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#a5cc85672a327b96f1668aaf8efc58c7a">ArMath::roundInt()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">ArServerClient::sendPacketUdp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a4625b86363da3746a7f194b80a316e61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoRobot::updateNumbers </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function that sends updates about the robot off to the client. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga56e81d05c4a713bcc04b0c620b787d50">ArMath::fixAngle()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a8d1637a9f3d37e55768d2aa1c8c272d6">ArRobot::getBatteryVoltage()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a876ee53aa68d3bdcc73eed3e5db0278b">ArRobot::getLatVel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a95343f45b0c19031fdbc560cb37483ba">ArRobot::getRealBatteryVoltage()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gac2abfcd681cccdc2cf091d2901f0ba5b">ArRobot::getRotVel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a072a1abd7fdd59adab416596ac66d440">ArRobot::getStateOfCharge()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a2c2307e37afcf14413c62f4410716152">ArRobot::getTemperature()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaefe932449c50da9ca0f8084cd9639583">ArRobot::getTh()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gad75dbd9aede7b7f57c9a38902b8aa1ce">ArRobot::getVel()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4c994926aaefc4c86380f1a74e508a76">ArRobot::getX()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga9164db66102fdf9d422feefdadffca92">ArRobot::getY()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a13d1ce59c3511836490b508bc792ea60">ArRobot::haveStateOfCharge()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#a5cc85672a327b96f1668aaf8efc58c7a">ArMath::roundInt()</a>, <a class="el" href="classArServerClient.html#a9276b1f38501725852c779058bad1d33">ArServerClient::sendPacketUdp()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a124d06b5f8fd99676200e76222cb7979"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoRobot::updateStrings </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The function that sends updates about the robot off to the client. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a5aecc7ac998c9a31b82fdb904efa8609">ArRobot::lock()</a>, <a class="el" href="classArServerInfoRobot.html#a224a6d07051237503612f336c69bda37">myExtendedStatus</a>, <a class="el" href="classArServerInfoRobot.html#a8885c11cb59b462e01a216dee5e19cf7">myMode</a>, <a class="el" href="classArServerInfoRobot.html#a010739ba99f0717216c687da3f27c314">myRobot</a>, <a class="el" href="classArServerInfoRobot.html#a09da12433a5066862f09df97786180fb">myStatus</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html#a403d9de010dc2b8d478cd0b14b2d9491">ArRobot::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="ab22b4e8128c3c289fbb8c724feaff5f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerInfoRobot::userTask </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">ArServerBase::broadcastPacketTcp()</a>, <a class="el" href="classArServerMode.html#a3d12ee9d79a46c35b3af45223b771e3f">ArServerMode::getActiveMode()</a>, <a class="el" href="classArServerMode.html#a6e66aee860aa207897d03aa1194428f2">ArServerMode::getExtendedStatus()</a>, <a class="el" href="classArServerMode.html#a1958150b0f5e06d78b0a8e016c2b659b">ArServerMode::getMode()</a>, <a class="el" href="classArServerMode.html#a79c34eb7c604eb4c292f45fb976ccaea">ArServerMode::getStatus()</a>, <a class="el" href="classArServerInfoRobot.html#a224a6d07051237503612f336c69bda37">myExtendedStatus</a>, <a class="el" href="classArServerInfoRobot.html#a8885c11cb59b462e01a216dee5e19cf7">myMode</a>, <a class="el" href="classArServerInfoRobot.html#a247cbe7a907306fb54dbe64882ea0671">myOldExtendedStatus</a>, <a class="el" href="classArServerInfoRobot.html#a973c53984dea10eb42fa268a1d0cb12b">myOldMode</a>, <a class="el" href="classArServerInfoRobot.html#a6d009f7d13454f4436d25b88b6fe87c5">myOldStatus</a>, <a class="el" href="classArServerInfoRobot.html#a71669dbe0be1c7917db62c8971cf7b42">myServer</a>, <a class="el" href="classArServerInfoRobot.html#a09da12433a5066862f09df97786180fb">myStatus</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ab2ec56a2825eb0d24e3ec6c7a7ec0294"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerInfoRobot::myActivityTimeInfoCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>.</p>

</div>
</div>
<a class="anchor" id="a20f05293bf9ee42a5b67f59d51017fd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerInfoRobot::myBatteryInfoCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>.</p>

</div>
</div>
<a class="anchor" id="a224a6d07051237503612f336c69bda37"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerInfoRobot::myExtendedStatus</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#a124d06b5f8fd99676200e76222cb7979">updateStrings()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a8885c11cb59b462e01a216dee5e19cf7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerInfoRobot::myMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#a124d06b5f8fd99676200e76222cb7979">updateStrings()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a247cbe7a907306fb54dbe64882ea0671"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerInfoRobot::myOldExtendedStatus</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a973c53984dea10eb42fa268a1d0cb12b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerInfoRobot::myOldMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a6d009f7d13454f4436d25b88b6fe87c5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerInfoRobot::myOldStatus</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="ae31b4dda1ec676ac02107bfced98587e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerInfoRobot::myPhysicalInfoCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>.</p>

</div>
</div>
<a class="anchor" id="a010739ba99f0717216c687da3f27c314"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRobot.html">ArRobot</a>* ArServerInfoRobot::myRobot</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#a37b6b2739285beb767fea6bcb130cdb0">activityTimeInfo()</a>, <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>, <a class="el" href="classArServerInfoRobot.html#a4b1f5a1de6266e00dcbe3f8d02d63e10">batteryInfo()</a>, <a class="el" href="classArServerInfoRobot.html#ab2cbbfd21c0deafa12a0e60fd77a5b2a">physicalInfo()</a>, <a class="el" href="classArServerInfoRobot.html#a4a0905008a60f291372e53481d6656a2">update()</a>, <a class="el" href="classArServerInfoRobot.html#a4625b86363da3746a7f194b80a316e61">updateNumbers()</a>, and <a class="el" href="classArServerInfoRobot.html#a124d06b5f8fd99676200e76222cb7979">updateStrings()</a>.</p>

</div>
</div>
<a class="anchor" id="a71669dbe0be1c7917db62c8971cf7b42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerBase.html">ArServerBase</a>* ArServerInfoRobot::myServer</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="a09da12433a5066862f09df97786180fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerInfoRobot::myStatus</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#a124d06b5f8fd99676200e76222cb7979">updateStrings()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="ad40bdcd0ff3badf205dba6f5208b5119"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerInfoRobot::myUpdateCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>.</p>

</div>
</div>
<a class="anchor" id="a1da2b9b64e5c59c2ffd205b82f1b8f86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerInfoRobot::myUpdateNumbersCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>.</p>

</div>
</div>
<a class="anchor" id="a5a5ed06648187c14e64d73c9327ba5fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerInfoRobot::myUpdateStringsCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>.</p>

</div>
</div>
<a class="anchor" id="a0f7f99ed112fdbf7ec1d4d8a1a7ae104"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt;<a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a>&gt; ArServerInfoRobot::myUserTaskCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArServerInfoRobot_8h.html">ArServerInfoRobot.h</a></li>
<li><a class="el" href="ArServerInfoRobot_8cpp.html">ArServerInfoRobot.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArServerInfoRobot.html">ArServerInfoRobot</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
